import consultasBD
from dto import Sell, SellItem

import model2DtoFactory
import dto2ModelFactory

import model

def get_sell(idventa):
    sql = "SELECT * FROM ventas WHERE idventa='%s'" % (idventa)
    resultado = consultasBD.ordenCrudaSinCommit(sql)
    print "GGGG "
    print resultado
    print "GGGG"
    if resultado:
        return model2DtoFactory.create_venta_sql(resultado[0])
    
def get_sell_pagos(idventa):
    sql = "SELECT * FROM ventastienepagos WHERE idventa='%s'" % (idventa)
    resultado = consultasBD.ordenCrudaSinCommit(sql)

    ret = []
    for p in resultado:
        ret.append(model2DtoFactory.create_venta_pago_sql(p))
        
    return ret
    
def get_sell_pagos_by_type(idventa, type):
    ret = []
    pagos = get_sell_pagos(idventa)
    for p in pagos:
        if p.idformapagos == type:
            ret.append(p)
        
    return ret    

def get_sells(idvendor, year, month):
    ret = []
    s = model.create_session()
    f = '%s-%s-01' % (year, month)
    t = '%s-%s-31' % (year, month)
    sellsModel = s.query(model.Venta).filter(model.Venta.fecha >= f).filter(model.Venta.fecha < t).filter(model.Venta.usuario == idvendor).all()
    for sell in sellsModel:
        ret.append(model2DtoFactory.create_venta(sell))
        
    return ret

def get_valores():
    ret = []
    s = model.create_session()
    valores = s.query(model.Valor).order_by(model.Valor.nombre).all()
    for v in valores:
        ret.append(model2DtoFactory.create_valor(v))
        
    return ret
    
